package admin

import (
	"backend_api/internal/handler/admin"
	"backend_api/internal/middleware"

	"github.com/gin-gonic/gin"
)

func RegisterRoutes(r *gin.Engine) {
	// 后台 API 路由组
	adminAPI := r.Group("/admin")

	// 无需认证的路由
	adminAPI.POST("/login", admin.Login)

	// 需要认证的路由组
	adminAPI.Use(middleware.AdminJWT())
	websiteSettingRouter := adminAPI.Group("website-setting")
	websiteSettingController := admin.WebsiteSettingController{}
	{
		websiteSettingRouter.GET("", websiteSettingController.GetSetting)    // 获取设置
		websiteSettingRouter.PUT("", websiteSettingController.UpdateSetting) // 更新设置
	}

	adminUserRouter := adminAPI.Group("admin-user")
	userAmin := admin.AdminUserApi{}
	{
		adminUserRouter.GET("/list", userAmin.GetList)             // 获取列表
		adminUserRouter.POST("/update", userAmin.Update)           // 更新信息
		adminUserRouter.POST("/status", userAmin.UpdateStatus)     // 更新状态
		adminUserRouter.POST("/reset-pwd", userAmin.ResetPassword) // 重置密码
	}

	toolsCate := adminAPI.Group("tools-cate")
	toolsCateList := admin.AdminToolsCategory{}
	{
		toolsCate.GET("/list", toolsCateList.GetToolCategoryList)   // 分类列表
		toolsCate.POST("/add", toolsCateList.AddToolCategory)       // 分类天津
		toolsCate.POST("/update", toolsCateList.UpdateToolCategory) // 分类更新
		toolsCate.POST("/status", toolsCateList.DeleteToolCategory) // 分类删除
	}

	tool := adminAPI.Group("tool")
	toolList := admin.AdminTools{}
	{
		tool.GET("/list", toolList.GetToolList)            // 工具列表
		tool.POST("/add", toolList.AddTool)                // 工具添加
		tool.POST("/update", toolList.UpdateTool)          // 工具更新
		tool.POST("/status", toolList.DeleteTool)          // 工具删除
		tool.POST("/update-status", toolList.UpdateStatus) // 工具状态修改
		tool.POST("/update-sort", toolList.UpdateSort)     // 工具排序修改
	}
}
